Creation of game elements using location information

ABSTRACT

Methods, systems, and machine-readable mediums are disclosed for creating game elements using location information. In one embodiment, at least one-machine readable medium has instructions stored thereon, which, when executed by a machine cause the machine to implement a game, to obtain information about a location of the machine, and to abstract the information into an element of the game.

BACKGROUND OF THE INVENTION

The present invention relates generally to games for wireless devices. More specifically, embodiments of the invention allow for creation of game elements using information associated with a location of a wireless device.

A number of games for wireless devices (e.g., mobile telephones) are on the market. Some of these games may use real world data, such as electronic map data, to simulate a game environment. For example, U.S. Pat. No. 6,183,364 to Trovalto discloses an electronic game that uses electronic map data and an environment grower to create a game environment. The environment grower uses the electronic map data to simulate a city. Thus, the simulated game environment mimics the real world.

Games also exist that are influenced by real world events. For instances, U.S. Pat. No. 6,080,063 to Khosla discloses a game which gathers inputs from sensors at a live event, such as a sporting event, and allows remote players to participate in a concurrent simulation of the live event. As another example, U.S. Pat. No. 6,777,350 to Yoshimi, et al. discloses a game in which virtual stock prices vary based on real life stock price data. There are also games in which a user's movement may influence actions of a character in a virtual world. An example of this type of game is disclosed in U.S. Patent Application No. 2002/0090985 to Tochner, et al. In this system, the game requests that the user perform specific actions (e.g., purchase of a soft drink) to influence characters in the virtual world. With all of these games, information from the real world is correlated into the virtual world of a game.

BRIEF SUMMARY OF THE INVENTION

Systems, methods, and machine-readable mediums are disclosed for creating elements of a game using location information. In one embodiment, a machine readable medium is disclosed comprising instructions to implement a game. The medium further comprises instructions to obtain information about a location of the machine implementing the game (e.g., a wireless device) and to abstract the information into an element of the game.

The information may be abstracted into a variety of different types of game elements. For instances, the information may be used to determine an enemy type and/or strength associated with an enemy or other character in the game. Other examples of abstracting the information include using the information to determine a chance of an event occurring, a game environment element, an amount of a reward, or a reward type. Thus, the use and abstraction of location information into game elements may provide a unique play experience that may be different in different locations or may change as the mobile user's location changes.

In some aspects, the machine-readable medium may further include instructions for determining the location of the machine. For example, the location may be determined by requesting the location from a location component included in the machine. Alternatively, the location may be determined by requesting the location from a location service external to the machine.

The information which is abstracted into a game element may be obtained from a data storage associated with the wireless device, a game server, or other location. Obtaining the information about a location may comprise obtaining terrain information, landmark information, weather information, traffic information, man-made attraction information, population information, property value information, or other type of information about a location. In some cases, the instructions may also include determining a type of location information needed by the game.

In a second embodiment, a wireless device is disclosed which comprises a wireless network interface and a memory including a game application. The game application comprises instructions to obtain information about a location of the wireless device and to abstract the information into an element of the game. The wireless device also includes a processor to execute the game application.

The wireless device may also include a location component to obtain the location of the wireless device. In these aspects, the game application may further include instructions to request the location from the location component. Alternatively, or additionally, the wireless device may further include a data storage having location information for a plurality of locations and the game application may include instructions to obtain the information about the location by retrieving the information from the data storage.

The wireless device may be a component of a game system. The game system may also include a game server communicatively coupled with the wireless device. The game server may provide the information about the location.

In a third embodiment, a method is disclosed which comprises receiving a request at a game server from a game application executing on a wireless device. The received request is a request to obtain location information associated with a location of the wireless device. The game server determines the location of the wireless device and obtains information associated with the location. By way of example, the information may be obtained from a data storage associated with the game server or a by requesting the information from a content provider. The information is transmitted from the game server to the game application.

A further understanding of the nature and advantages of the present invention may be realized by reference to the remaining portions of the specification and the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram that depicts an exemplary embodiment of a game system;

FIG. 2 is a block diagram illustrating an exemplary embodiment of a wireless device implementing a game;

FIG. 3 illustrates exemplary components of a game server according to one embodiment;

FIG. 4 is a block diagram of a computer system upon which a game server may be implemented;

FIG. 5 s a flow diagram illustrating an exemplary method of creating an element of a game;

FIG. 6 illustrates exemplary abstractions of data into game elements; and

FIG. 7 is a flow diagram illustrating an exemplary method of providing location information to a game executing on a wireless device.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates an exemplary embodiment of a system that uses location information to create game elements. A number of wireless devices 104, 106, 108 (also referred to as mobile devices) are communicatively coupled to a wireless network 102. Wireless devices 104, 106, 108 may be mobile telephones, personal data assistants (PDA) with wireless capabilities, laptops with wireless capabilities, wireless devices for receiving email communications (e.g., Blackberry® devices), car device, or other types of wireless device. As will be described in more detail below, wireless devices 104, 106, 108 may have one or more game applications that use location information to create one or more game elements. It should be appreciated that wireless network 102 may also have additional wireless devices (not shown) connected thereto.

Wireless network 102 may use any of a number of wireless network technologies for communications on the network 102. Wireless network technologies include wireless wide are network (WWAN), wireless local area network (WLAN) and wireless personal area network (WPAN) technologies. WWAN technologies typically include cellular and related technologies such as Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Cellular Digital Packet Data (CDPD), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Wideband Code Division Multiple Access (WCDMA), etc. WWAN networks are high power, long range networks that typically have an access range on the order of several kilometers on up. WLAN technologies, on the other hand, are medium power, medium range networks that have an access range on the order of tens of meters while WPAN networks are low power, short range networks that typically have an access range of about 10 meters or less. Examples of WLAN technologies include IEEE 802.11(b) technologies (also known as WiFi) and examples of WPAN technologies include Bluetooth, HomeRF, and IEEE 802.15 technologies.

In some embodiments, a game application executing on a wireless device 104, 106, 108 may obtain location information from a game server 140. Game server 140 may communicate on another network 120, such as a public wide-area network (e.g., the Internet), a Virtual Private Network (VPN), or a local area network (LAN). Thus, wireless network 102 may be communicatively coupled with network 120 so that communications may be transmitted between game server 140 and wireless devices 104, 106, 108. As those skilled in the art will appreciate, an enabler or other type of component (not shown) may be used to communicatively couple wireless network 102 with network 120.

Game server 140 may obtain information about locations from one or more content providers 130. By way of example, content providers 130 may provide terrain information, landmark information, man-made attraction information, map information, weather information, traffic information, population information or other census data, property value information, crime rate information or other information about locations. Game server 140 may store information obtained from content provider(s) 130 and/or may obtain information dynamically. Content provider(s) may alternatively or additionally provide location information to wireless devices 104, 106, 108.

A device location service 110 (e.g., a Location Based Service) may also be communicatively coupled with wireless network 102 and/or to network 120. Device location service 110 may provide the current location of a wireless device 104, 106, 108 to a requesting wireless device 104, 106, 108, game server 140, or other requester. Alternatively, a wireless device 104, 106, 108 may include a location component to determine the device's current location.

It should be appreciated that in alternative embodiments, variations may be made to the system depicted in FIG. 1. For instances, some embodiments may not include a game server 140, content provider 130, and/or device location service 110. In other aspects, the system may include non-wireless clients (e.g., personal computer) implementing a game application which creates game elements as described below. As another example, game server 140 may communicate on wireless network 102 instead of network 120. Other variations are also contemplated.

FIG. 2 illustrates exemplary embodiment of a wireless device 200. Wireless device 200 includes a wireless network interface 204 to communicate on a wireless network and a game application 202. Game application 202 may be any type of computer game that may be implemented on a wireless device 200. The instructions for the game application 202 may be stored in a memory (not shown) of wireless game device. A processor component (not shown) of wireless game device may execute the instructions for the game application 202.

At one or more points of execution, the game application 202 may create one or more game element(s) based on a location of the wireless device 200. In some embodiments, the wireless device 200 may include a location component 206 (e.g., a global position sensor (GPS), a component that determines location based on cell tower triangulation or other estimating technique, etc.) to provide the location of the wireless device 200 to the game application 202. In alternative embodiments, the wireless device 200 may not include a location component 206. In these embodiments, the location of the wireless device 200 may be obtained from a device location service 110 or other location based service (LBS), either by wireless device 200 or by a game server 140. Other techniques may also be used to obtain the location of the wireless device 200.

Wireless device 200 may further include a data storage 208 which stores location information for a plurality of locations. Data storage 208 may be one or more databases, spreadsheets, text files, internal software structures, or other type of files or structures suitable for storing data. Data storage 208 may store any type of information about locations in the real world. Some examples of the type of information that may be stored include terrain information, landmark information, man-made attraction information, map information, population information, property value information, road information, traffic information and/or weather information. Additional or different types of information about locations may also be stored by data storage 208.

Game application 202 may retrieve information associated with the location of the wireless device from data storage 208. Alternatively, wireless device 200 may request information about a location from game server 140 or content provider(s) 130. In these embodiments, wireless game device 200 may not include data storage 208. Wireless device 200 may also use a combination of data storage 208 and requests to game server 140 or content provider(s) 130 to obtain information associated with a location of the wireless device 200. As will be described in more detail with reference to FIGS. 5 and 6, game application may abstract the information obtained about a location to create element(s) of the game.

FIG. 3 illustrates exemplary components of a game server 300 that may provide location information to game applications executing on wireless devices. Game server 300 may comprise logic 304 communicatively coupled with a communications interface 302 and a data storage 306. The communicative coupling may be any type of coupling that allows communication between the components 302, 304, 306. Thus, in some instances, data storage 306 or portions of logic 304 may be on different physical devices.

Communications interface 302 may be any type of interface that allows game server 200 to send and receive communications. By way of example, communications interface may be an interface to a WAN (e.g., the Internet) or LAN, a peripheral interface or other type of interface that may be used to transmit communications to/from game server 300. Communications interface 302 receives requests for location information from game applications executing on wireless devices or other types of clients and transmits location information back to requesting wireless devices. In some aspects, communications interface 302 may also be used to send request for location information to content provider(s) 130 and to receive the information back from content provider(s) 130.

Information about locations in the real world may be stored in data storage 306. Data storage 306 may be one or more relational databases, spreadsheet(s), text file(s), internal software list(s), and/or other type of data structure(s) suitable for storing data. Information stored by data storage 306 may be obtained from content providers, may be automatically pushed to data storage 306, and/or may be loaded into data storage 306 by an operator. As previously described, location information stored by data storage 306 may be any type of information about locations in the real world (e.g., terrain information, man-made attraction information, landmark information, map information, road information, weather information, traffic information, property value information, population information). Some embodiments of game server 300 may not include data storage 306.

Logic 204 comprises one or more software programs, one or more components of a software program (e.g., function or program object), firmware, or other type of machine-executable instructions that may be used to provide location information for game applications. After a request for location information has been received at communications interface 302, logic 304 may retrieve information associated with a location of the wireless device from data storage 306 and/or may request information associated with the location from content provider(s). The information may then be sent back to the requesting wireless device. In other embodiments, logic 204 may abstract some or all of the real-world location information into game element(s) before transmitting the information to the requesting game application. Further details of a process that may be performed by game server 300 will be described in more detail below with reference to FIG. 7.

FIG. 4 illustrates one embodiment of a computer system 400 upon which a game server 200 (or components of a game server) may be implemented. The computer system 400 is shown comprising hardware elements that may be electrically coupled via a bus 455. The hardware elements may include one or more central processing units (CPUs) 405; one or more input devices 410 (e.g., a mouse, a keyboard, etc.); and one or more output devices 415 (e.g., a display device, a printer, etc.). The computer system 400 may also include one or more storage device 420. By way of example, storage device(s) 420 may be disk drives, optical storage devices, solid-state storage device such as a random access memory (“RAM”) and/or a read-only memory (“ROM”), which can be programmable, flash-updateable and/or the like.

The computer system 400 may additionally include a computer-readable storage media reader 425; a communications system 430 (e.g., a modem, a network card (wireless or wired), an infra-red communication device, etc.); and working memory 440, which may include RAM and ROM devices as described above. In some embodiments, the computer system 400 may also include a processing acceleration unit 435, which can include a DSP, a special-purpose processor and/or the like

The computer-readable storage media reader 425 can further be connected to a computer-readable storage medium, together (and, optionally, in combination with storage device(s) 420) comprehensively representing remote, local, fixed, and/or removable storage devices plus storage media for temporarily and/or more permanently containing computer-readable information. The communications system 430 may permit data to be exchanged with a network and/or any other computer.

The computer system 400 may also comprise software elements, shown as being currently located within a working memory 440, including an operating system 445 and/or other code 450, such as an application program. The application program may implement a game server application. It should be appreciate that alternate embodiments of a computer system 400 may have numerous variations from that described above. For example, customized hardware might also be used and/or particular elements might be implemented in hardware, software (including portable software, such as applets), or both. Further, connection to other computing devices such as network input/output devices may be employed.

FIG. 5 illustrates an exemplary method that may be used by a game application implemented on a wireless device or other type of computer device to create game elements based on location information. At one or more points in the execution of the game application, the game application may determine 502 it needs location information to create one or more elements of the game. For example, the game application may need to determine a type of enemy to create. Other elements that may determined based on location information will be described in more detail with reference to FIG. 6.

In some aspects, the game application may use different types of location information to create game element(s). Thus, determining 502 that the game application needs location information may also include determining the type of location information currently needed.

The location of the wireless device may then be determined 504 by the game application. The location may be determined 504 by requesting the location from a location component of the wireless device (e.g., a GPS component or component that estimates location based on cell tower triangulation). Alternatively, the location information may be determined 504 by requesting the current location of the wireless device from a device location service external to the wireless device. In still further embodiments, the location may be determined 504 by a game server or content provider to which the game application issues a request for location information as described below. Location information may, in some cases, be estimated based on information such as the prefix of a mobile telephone number or other type of information (e.g., zip code). Other suitable techniques of determining 504 the location, such as requesting a user to enter the location information, may also be used.

The method further includes obtaining 506 real world data associated with the location of the wireless device. Location information obtained 506 by the game application may include any of the types of location information previously described. A number of different processes may be used to obtain 506 the data associated with the location of the wireless device. For example, the data may be obtained 506 from a data storage component of the wireless device. As another example, the data may be obtained from a game server or content provider. The data may also be obtained using a combination of a data storage component of the wireless device and request(s) to a game server or content provider. Thus, the process used to obtain 506 the location data may vary depending upon the type of information needed.

The game application may then abstract 508 the real world location information into one or more elements of the game. The abstraction 508 process takes the location data and converts it into elements which are different than the real world location information. For example, the current weather may be used to determine the strength of an enemy. Other examples of abstracting 508 data are described with reference to FIG. 6. It should be appreciated that by abstracting the location based data into elements of the game, a user of the game may be provided with an unique play experience in which the game is different or changes as the user's location changes.

FIG. 6 illustrates exemplary abstractions of location data 600 into game elements. One exemplary manner in which location data may be abstracted is to use the location data to determine 602 an enemy type in the game. The type of enemy may be determined 602 based on terrain information associated with the location of the wireless device. For example, a canyon may be equated to create trolls. As other examples, a city may be equated to orcs, a sea may be equated to a monster, or a desert may be equated to no enemies. Other types of location information previously described may also be used to determine 602 an enemy type.

Location data may also be abstracted and used to determine 604 a strength associated with an enemy, hero, or other characters in the game. Again, any of the different types of location data described may be used to determine 604 strength of characters. By way of example, the strength of a character may be determined 604 based on the depth or height of a landmark feature (e.g., water body, canyon, mountain), the size of a landmark feature (water body, etc.), population information, or current traffic information. Other location data may also be used.

Game environment elements may also be determined 606 based on abstractions of location data. For instances, a highway may be abstracted to a river element in the game. The current traffic rate on the highway may be used to determine the flow rate of the river. Property values may also be used to determine 606 game elements (e.g., property values may be used to determine an amount of gold ore). There are numerous other ways in which location data may be abstracted to determine 606 game environment elements.

Another example of abstracting location data is to abstract location data to determine 608 a chance of an event occurring. Weather patterns, traffic patterns, crime rates, or other type of location information may be used. By way of example, a weather pattern, such as precipitation, may be used to determine a chance of a random monster. The location information may be also used in any number of other different ways to determine 608 a chance of an event.

Other examples of abstraction include determining 610 a reward amount based on location data (population density, landmarks, weather patterns, traffic, etc.) and/or determining 612 a reward type based on location data (landmarks, terrain information, weather, etc.). The aforementioned examples 602-612 of abstracting location information to create game elements are intended to be illustrative in nature only. It should be appreciated that numerous other types of game elements may alternatively or additionally be created by abstracting location data.

FIG. 7 illustrated an exemplary method that may be used by a game server to provide location information to a game application executing on a wireless device. The method may begin by receiving 702 a request from a game application executing on a wireless device. The received request may include an identifier associated with a wireless device.

The location of the wireless device may then be obtained 704. In some embodiments, the location may also be provided in the received 702 request. Alternatively, the location may be obtained 704 by requesting the location from a device location service.

Data associated with the location of the wireless device is obtained 706. The request may specify a specific type of location data to obtain, the game server may make a determination about the type of data to obtain based on any number of factors, or the game server may obtain 706 all data available to the game server about the current location of the wireless device. Some, or all, of the location data may be obtained 706 by retrieving the information from a data storage associated with the game server. Location data may be also or alternatively be obtained 706 by requesting information from a content provider of the information. By way of example, a request (e.g., a web services request) may be issued to a content provider providing current weather or traffic information. Other types of location data may also be obtained 706 from content providers. After the location data is obtained 706, the game server transmits 708 the location information to the game application.

In the foregoing description, for the purposes of illustration, methods were described in a particular order. It should be appreciated that in alternate embodiments, the methods may be performed in a different order than that described. Additionally, the methods may include fewer, additional, or different blocks than those described. It should also be appreciated that the methods described above may be performed by hardware components or may be embodied in sequences of machine-executable instructions, which may be used to cause a machine, such as a general-purpose or special-purpose processor (e.g., a processor component of a wireless device) or logic circuits programmed with the instructions to perform the methods. These machine-executable instructions may be stored on one or more machine readable mediums, such as CD-ROMs or other type of optical disks, floppy diskettes, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, flash memory, or other types of machine-readable mediums suitable for storing electronic instructions. Alternatively, the methods may be performed by a combination of hardware and software.

While illustrative and presently preferred embodiments of the invention have been described in detail herein, it is to be understood that the inventive concepts may be otherwise variously embodied and employed, and that the appended claims are intended to be construed to include such variations, except as limited by the prior art 

1. At least one machine-readable medium, having instructions stored thereon, which, when executed by a machine, causes the machine to perform the actions of: implementing a game; obtaining information about a location of the machine; and abstracting the information into an element of the game.
 2. The machine-readable medium of claim 1, wherein the instructions for abstracting the information comprise instructions, which, when executed by the machine cause the machine to perform the action of determining an enemy type.
 3. The machine-readable medium of claim 1, wherein the instructions for abstracting the information comprise instructions, which, when executed by the machine, cause the machine to perform the action of determining a strength associated with a character.
 4. The machine-readable medium of claim 1, wherein the instructions for abstracting the information comprise instructions, which, when executed by the machine, cause the machine to perform the action of determining a game environment element.
 5. The machine-readable medium of claim 1, wherein the instructions for abstracting the information comprise instructions, which, when executed by the machine, cause the machine to perform the action of determining a chance of an event occurring.
 6. The machine-readable medium of claim 1, wherein the instructions for abstracting the information comprise instructions, which, when executed by the machine, cause the machine to perform the action of determining an amount of a reward.
 7. The machine-readable medium of claim 1, wherein the instructions for abstracting the information comprise instructions, which, when executed by the machine, cause the machine to perform the action of determining a reward type.
 8. The machine-readable medium of claim 1, further comprising instructions which, when executed by the machine, cause the machine to perform the actions of: obtaining second information about the location; and abstracting the second information into a second element of the game.
 9. The machine-readable medium of claim 1, further comprising instructions, which, when executed by the machine, cause the machine to perform the action of determining the location of the machine.
 10. The machine-readable medium of claim 9, wherein the instructions for determining the location comprise instructions, which, when executed by the machine, cause the machine to perform the action of requesting the location from a location component included in the machine.
 11. The machine-readable medium of claim 9, wherein the instructions for determining the location comprise instructions, which, when executed by the machine, cause the machine to perform the action of requesting the location from a location service external to the machine.
 12. The machine-readable medium of claim 1, wherein the instructions for obtaining the information about the location comprise instructions, which, when executed by the processor, cause the machine to perform the action of obtaining the information from a data storage associated with the machine.
 13. The machine-readable medium of claim 1, wherein the instructions for obtaining the information about the location comprise instructions, which, when executed by the machine, cause the machine to perform the action of requesting the information from a game server.
 14. The machine-readable medium of claim 1, further comprising instructions, which, when executed by the machine, cause the machine to perform the actions of determining a type of location information needed by the game.
 15. The machine-readable medium of claim 1, wherein the instructions for obtaining the information about the location comprise instructions, which, when executed by the machine, cause the machine to obtain at least one of terrain information and landmark information.
 16. The machine-readable medium of claim 1, wherein the instructions for obtaining the information about the location comprise instructions, which, when executed by the machine, cause the machine to obtain at least one of weather information and traffic information associated with the location.
 17. The machine-readable medium of claim 1, wherein the instructions for obtaining the information about the location comprise instructions, which, when executed by the machine, cause the machine to obtain man-made attraction information associated with the location.
 18. The machine-readable medium of claim 1, wherein the instructions for obtaining the information about the location comprise instructions, which, when executed by the machine, cause the machine to obtain at least one of population information and property value information.
 19. A wireless device comprising: a wireless network interface; a memory including a game application, the game application comprising instructions to obtain information about a location of the wireless device and to abstract the information into an element of the game; and a processor to execute the game application.
 20. The wireless device of claim 19, further comprising: a location component, communicatively coupled with the processor, to obtain the location of the wireless device; and wherein the game application further includes instructions to request the location from the location component.
 21. The wireless device of claim 19, further comprising: a data storage, communicatively coupled with the processor, the data storage having location information for a plurality of locations; and wherein the instructions to obtain the information about the location comprise instructions to retrieve the information from the data storage.
 22. A game system comprising the wireless device of claim 19 and a game server, communicatively coupled with the wireless device, to provide the information about the location.
 23. A method comprising: at a game server, receiving a request from a game application executing on a wireless device to obtain location information associated with a location of the wireless device; determining, with the game server, the location of the wireless device; obtaining, with the game server, information associated with the location; and transmitting, from the game server, the information to the game application.
 24. The method of claim 23, wherein obtaining the information comprises retrieving at least a portion of the information from a data storage associated with the game server.
 25. The method of claim 23, wherein obtaining the information comprises requesting at least a portion of the information from a content provider. 